Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ekf_localizer): add covariance ellipse diagnostics #7708

Conversation

SakodaShintaro
Copy link
Contributor

@SakodaShintaro SakodaShintaro commented Jun 26, 2024

Description

I have added some diagnostics based on the covariance ellipse to the ekf_localizer. Its contents are the same as localization_error_monitor, but to avoid unnecessary pub/sub 50Hz odometry, I think it is better to publish the diagnostics in ekf_localizer.

I also think it makes sense in terms of modularity that ekf_localizer provides diagnostics for the publised PoseWithCovariance by itself.

This pull request just adds /diagnostics to ekf_localizer. In next another pull requests, I replace localization_error_monitor to ekf_localizer's /diagnostics.

Related links

How was this PR tested?

I have confirmed that logging_simulator works well.

In /diagnostics, ekf_localizer outputs the ellipse values, which is the same as localization_error_monitor.

image

Notes for reviewers

None.

Interface changes

Topic changes

Modifications

Version Topic Type Topic Name Message Type Description
Add Pub /diagnostics sensor_msgs/Image Added 6 statuses
  • cov_sllipse_long_axis_size
  • cov_sllipse_long_axis_warn_threshold
  • cov_sllipse_long_axis_error_threshold
  • cov_sllipse_lateral_direction_size
  • cov_sllipse_lateral_direction_warn_threshold
  • cov_sllipse_lateral_direction_error_threshold

ROS Parameter Changes

Additions and removals

Change type Parameter Name Type Default Value Description
Added ellipse_scale double 3.0 The scale factor to apply the error ellipse size
Added error_ellipse_size double 1.5 The long axis size of the error ellipse to trigger a ERROR state
Added warn_ellipse_size double 1.2 The long axis size of the error ellipse to trigger a WARN state
Added error_ellipse_size_lateral_direction double 0.3 The lateral direction size of the error ellipse to trigger a ERROR state
Added warn_ellipse_size_lateral_direction double 0.25 The lateral direction size of the error ellipse to trigger a WARN state

Effects on system behavior

None.

Signed-off-by: Shintaro Sakoda <[email protected]>
@SakodaShintaro SakodaShintaro added run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) tag:run-clang-tidy-differential labels Jun 26, 2024
@SakodaShintaro SakodaShintaro self-assigned this Jun 26, 2024
@github-actions github-actions bot added the component:localization Vehicle's position determination in its environment. (auto-assigned) label Jun 26, 2024
Copy link

github-actions bot commented Jun 26, 2024

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

Copy link

codecov bot commented Jun 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 24.23%. Comparing base (3d849e9) to head (96eab49).
Report is 542 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #7708       +/-   ##
===========================================
+ Coverage   15.09%   24.23%    +9.14%     
===========================================
  Files        1967       67     -1900     
  Lines      135941     3268   -132673     
  Branches    42122      660    -41462     
===========================================
- Hits        20520      792    -19728     
+ Misses      92700     2323    -90377     
+ Partials    22721      153    -22568     
Flag Coverage Δ
differential 24.23% <100.00%> (?)
total ?

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@KYabuuchi KYabuuchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have confirmed that ekf_localizer outputs diagnostics equivalent to localization_error_monitor. Also, the implementation seems fine to me. 🙆‍♂️

Could you update the diagnostics section on README? 🙏

@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Jun 28, 2024
Signed-off-by: Shintaro Sakoda <[email protected]>
@SakodaShintaro
Copy link
Contributor Author

@KYabuuchi
UPDATED 🆙

Signed-off-by: Shintaro Sakoda <[email protected]>
Copy link
Contributor

@KYabuuchi KYabuuchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for updating the README. Looks Good To me 🆗

@SakodaShintaro SakodaShintaro merged commit abe8e3c into autowarefoundation:main Jul 1, 2024
30 checks passed
@SakodaShintaro SakodaShintaro deleted the refactor/move_ellipse_to_ekf branch July 1, 2024 00:08
mitukou1109 pushed a commit to mitukou1109/autoware.universe that referenced this pull request Jul 2, 2024
…dation#7708)

* Added ellipse diagnostics to ekf

Signed-off-by: Shintaro Sakoda <[email protected]>

* Removed an unnecessary parenthesis

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Updated ekf_diagnostics.png

Signed-off-by: Shintaro Sakoda <[email protected]>

* Added condition

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed "and" to "or"

Signed-off-by: Shintaro Sakoda <[email protected]>

---------

Signed-off-by: Shintaro Sakoda <[email protected]>
palas21 pushed a commit to palas21/autoware.universe that referenced this pull request Jul 12, 2024
…dation#7708)

* Added ellipse diagnostics to ekf

Signed-off-by: Shintaro Sakoda <[email protected]>

* Removed an unnecessary parenthesis

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Updated ekf_diagnostics.png

Signed-off-by: Shintaro Sakoda <[email protected]>

* Added condition

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed "and" to "or"

Signed-off-by: Shintaro Sakoda <[email protected]>

---------

Signed-off-by: Shintaro Sakoda <[email protected]>
Signed-off-by: palas21 <[email protected]>
tby-udel pushed a commit to tby-udel/autoware.universe that referenced this pull request Jul 14, 2024
…dation#7708)

* Added ellipse diagnostics to ekf

Signed-off-by: Shintaro Sakoda <[email protected]>

* Removed an unnecessary parenthesis

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Updated ekf_diagnostics.png

Signed-off-by: Shintaro Sakoda <[email protected]>

* Added condition

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed "and" to "or"

Signed-off-by: Shintaro Sakoda <[email protected]>

---------

Signed-off-by: Shintaro Sakoda <[email protected]>
KhalilSelyan pushed a commit that referenced this pull request Jul 22, 2024
* Added ellipse diagnostics to ekf

Signed-off-by: Shintaro Sakoda <[email protected]>

* Removed an unnecessary parenthesis

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed to ellipse_scale

Signed-off-by: Shintaro Sakoda <[email protected]>

* Updated ekf_diagnostics.png

Signed-off-by: Shintaro Sakoda <[email protected]>

* Added condition

Signed-off-by: Shintaro Sakoda <[email protected]>

* Fixed "and" to "or"

Signed-off-by: Shintaro Sakoda <[email protected]>

---------

Signed-off-by: Shintaro Sakoda <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:localization Vehicle's position determination in its environment. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants